﻿// 用户注册资料校验 user_register_part
$(function() {
	// 邮箱com
	jQuery.validator
			.addMethod(
					"isEmail",
					function(value, element) {
						if(value.indexOf(".com")>0)
							return true;
						else
							return false;
					}, "请正确填写您的手机号码");
	// 判断手机号码
	jQuery.validator
			.addMethod(
					"isMobile",
					function(value, element) {
						var length = value.length;
						var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
						return this.optional(element)
								|| (length == 11 && mobile.test(value));
					}, "请正确填写您的手机号码");

	// 判断用户名
	jQuery.validator
			.addMethod(
					"isName",
					function(value, element) {
						var reg = RegExp(/[(\ )(\`)(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\+)(\=)(\|)(\{)(\})(\')(\:)(\;)(\')(',)(\[)(\])(\.)(\<)(\>)(\/)(\?)(\~)(\！)(\@)(\#)(\￥)(\%)(\…)(\&)(\*)(\（)(\）)(\—)(\+)(\|)(\{)(\})(\【)(\】)(\‘)(\；)(\：)(\”)(\“)(\’)(\。)(\，)(\、)(\？)]+/);
						return this.optional(element) || !reg.test(value);
					}, "含有中英文特殊字符");
	$("#telForm").validate({
		rules : {
			"user.userTel" : {
				required : true,
				isMobile : true,
				remote : { // 验证手机号码是否存在
					type : "post",
					url : "user_checkTel",
					data : {
						"user.userTel" : function() {
							return $("#tel").val();
						}
					}
				}
			},
			"code" : {
				required : true,
				digits : true,
				remote : { // 验证码是否正确
					type : "post",
					url : "user_checkCode",
					data : {
						"userCode" : function() {
							return $("#code").val();
						}
					}
				}
			}
		},
		messages : {
			"user.userTel" : {
				required : "请输入手机号",
				isMobile : "请正确填写手机号码",
				remote : "该手机已经被注册"
			},
			"code" : {
				required : "请输入验证码",
				digits : "验证码应该输入数字",
				remote : "验证码不正确"
			}
		},
		submitHandler : function() {
			var value = document.getElementById("tel").value;
			document.getElementById("detailTel").value = value;
			$("#telDiv").hide();
			$("#detail").show();
			$("#li1").css("background-color", "#d1d1d1");
			$("#li2").css("background-color", "#009fe3");
		},
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true
	});

	$("#detailForm").validate({
		rules : {
			"user.userName" : {
				required : true,
				minlength : 1,
				maxlength : 20,
				isName : true,
				remote : { // 验证名称是否存在
					type : "post",
					url : "user_checkName",
					data : {
						"user.userName" : function() {
							return $("#name").val();
						}
					}
				}
			},
			"user.userPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20
			},
			"re_password" : {
				required : true,
				equalTo : "#password"
			},
			"user.userEmail" : {
				required : true,
				email : true,
				isEmail:true,
				maxlength : 40
			}
		},
		messages : {
			"user.userName" : {
				required : "请输入用户名",
				minlength : "最少为一个字符",
				maxlength : "不可超过20个字符",
				isName : "数字中、英文下划线",
				remote : "该用户名已经被注册"
			},
			"user.userPassword" : {
				required : "请输入密码",
				minlength : "密码最少为8位",
				maxlength : "密码不能超过20位"
			},
			"re_password" : {
				required : "请输入确认密码",
				equalTo : "两次输入密码不一致"
			},
			"user.userEmail" : {
				required : "请输入邮箱地址",
				email : "邮箱地址不合规范",
				isEmail :"邮箱地址不合规范",
				maxlength : "邮箱地址不可超过40位"
			}
		},
		submitHandler : function(form) {
			form.submit();
			$("#li2").css("background-color", "#d1d1d1");
			$("#li3").css("background-color", "#009fe3");
		},
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true
	});
});

// 登陆验证 login
$(function() {
	$("#userLoginForm").validate({
		rules : {
			"user.userName" : {
				required : true,
				minlength : 1,
				maxlength : 20,
				remote : { // 验证名称是否存在
					type : "post",
					url : "user_checkNameForLogin",
					data : {
						"user.userName" : function() {
							return $("#userName").val();
						}
					}
				}
			},
			"user.userPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
			}
		},
		messages : {
			"user.userName" : {
				required : '请输入用户名',
				minlength : '用户名不能小于1个字符',
				maxlength : '用户名不能超过20个字符',
				remote : '不存在该用户名'
			},
			"user.userPassword" : {
				required : '请输入密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
			}
		},
		errorLabelContainer : "#messageBox1",
		wrapper : "li",
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true,
	});

	$("#companyLoginForm").validate({
		rules : {
			"company.companyName" : {
				required : true,
				minlength : 1,
				maxlength : 20,
				remote : {
					type : "post",
					url : "company_checkNameForLogin",
					data : {
						"company.companyName" : function() {
							return $("#companyName").val();
						}
					}
				}

			},
			"company.companyPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
			}
		},
		messages : {
			"company.companyName" : {
				required : '请输入用户名',
				minlength : '用户名不能小于1个字符',
				maxlength : '用户名不能超过20个字符',
				remote : '不存在该商家名'
			},
			"company.companyPassword" : {
				required : '请输入密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
			}
		},
		errorLabelContainer : "#messageBox2",
		wrapper : "li",
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true,
	});
});

// 管理员修改商家资料 edit_company
$(function() {
	jQuery.validator
			.addMethod(
					"isMobile",
					function(value, element) {
						var length = value.length;
						var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
						return this.optional(element)
								|| (length == 11 && mobile.test(value));
					}, "请正确填写您的手机号码");
	jQuery.validator.addMethod("stringCheck", function(value, element) {
		return this.optional(element)
				|| /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/.test(value);
	}, "只能包含中文、英文、数字、下划线等字符");
	jQuery.validator.addMethod("IsManagerName", function(value, element) {
		return this.optional(element)
				|| /^[A-Za-z\u4e00-\u9fa5]+$/.test(value);
	}, "只允许包含中文和英文");
	
	
	$("#updateCompanyInfoForm")
			.validate(
					{
						rules : {
							"company.companyName" : {
								required : true,
								minlength : 1,
								maxlength : 20,
								stringCheck : true,
								remote : {
									type : "post",
									url : "company_checkName2",
									data : {
										"company.companyName" : function() {
											return $("#name").val();
										},
										"company.companyId" : function() {
											return $(
													"#updateCompanyInfoForm :hidden[name='company.companyId']")
													.val();
										}
									}
								}
							},
							"company.companyTel" : {
								required : true,
								isMobile : true
							},
							"company.companyAddress" : {
								required : true,
								maxlength : 256,
								stringCheck : true
							},
							"company.companyManager" : {
								required : true,
								maxlength : 20,
								stringCheck : true,
								IsManagerName:true
							},
						},
						messages : {
							"company.companyName" : {
								required : "请输入商家名",
								minlength : "商家名最少为一个字符",
								maxlength : "商家名不可超过20个字符",
								remote : "该商家名已经被注册",
								stringCheck : "只能包含中文、英文、数字、下划线等字符"
							},
							"company.companyTel" : {
								required : "请输入手机号码",
								isMobile : "请输入正确的手机号码"
							},
							"company.companyManager" : {
								required : "请输入负责人名称",
								maxlength : "负责人名称不可超过20个字符",
								stringCheck : "只能包含中文、英文、数字、下划线等字符",
								IsManagerName:'只允许包含中文和英文',
								
							},
							"company.companyAddress" : {
								required : "请输入商家地址",
								maxlength : "商家地址不可超过256个字符",
								stringCheck : "只能包含中文、英文、数字、下划线等字符"
							}
						},
						focusInvalid : true,
					});
});

// 管理员修改商家发布的广告 edit_bothtext
$(function() {
	jQuery.validator.addMethod("isLegal", function(value, element) {
		var result = false;
		// 先判断是否包含特殊字符
		var special = /[@\/'\\"#$%&￥,!，！。.\^*]/.test(value);
		var s = /[\n\r]/.test(value);
		// 若为true 包含特殊字符 将其替换为空
		var reg = /[@\/'\\"#$%&￥,!，！。.\^*]/g;
		var reg1 = /[\n\r]/g;
		// r为用来测试 真正写入的是text
		var r = value.replace(reg, '');
		var r1 = r.replace(reg1, "");
		// 此时为只剩下符合字符或为空
		if (r1 == "") {
		} else {
			// 判断是否只有符合的字符或字
			var reg = /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/;
			var re = reg.test(r1);
			if (re) {
				result = true;
			}
		}
		// 表单验证
		return result;
	}, "请勿发无效信息！");
	$("#updateTextForm").validate({
		rules : {
			"bothText.text" : {
				required : true,
				isLegal : true,
			}
		},
		messages : {
			"bothText.text" : {
				required : "所发布的信息不能为空",
				isLegal : "请勿发无效信息！",
			}
		},
		focusInvalid : true,
	});
});

// 商家注册校验 company_register_part
$(function() {
	// 邮箱com
	jQuery.validator
			.addMethod(
					"isEmail",
					function(value, element) {
						if(value.indexOf(".com")>0)
							return true;
						else
							return false;
					}, "请正确填写邮箱地址");
	// 判断手机号码
	jQuery.validator
			.addMethod(
					"isMobile",
					function(value, element) {
						var length = value.length;
						var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
						return this.optional(element)
								|| (length == 11 && mobile.test(value));
					}, "请正确填写您的手机号码");

	jQuery.validator.addMethod("stringCheck", function(value, element) {
		return this.optional(element)
				|| /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/.test(value);
	}, "只能包含中文、英文、数字、下划线等字符");
	jQuery.validator.addMethod("IsManagerName", function(value, element) {
		return this.optional(element)
				|| /^[A-Za-z\u4e00-\u9fa5]+$/.test(value);
	}, "只允许包含中文和英文");
	$("#form1").validate({
		rules : {
			"company.companyEmail" : {
				required : true,
				maxlength : 40,
				email : true,
				IsEmail:true,
				remote : { // 验证手机号码是否存在
					type : "post",
					url : "company_checkEmail",
					data : {
						"user.userTel" : function() {
							return $("#email").val();
						}
					}
				}
			},
			"code" : {
				required : true,
				digits : true,
			}
		},
		messages : {
			"company.companyEmail" : {
				required : "请输入邮箱地址",
				maxlength : "邮箱地址不可超过40个字符",
				email : "请正确填写邮箱地址",
				IsEmail :"请正确填写邮箱地址",
				remote : "该邮箱地址已经被注册"
			},
			"code" : {
				required : "请输入验证码",
				digits : "验证码应该输入数字"
			}
		},
		submitHandler : function() {
			var value = document.getElementById("email").value;
			document.getElementById("detailEmail").value = value;
			$("#emailDiv").hide();
			$("#detail").show();
			$("#li1").css("background-color", "#d1d1d1");
			$("#li2").css("background-color", "#009fe3");

		},
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true
	});

	$("#form2").validate({
		rules : {
			"company.companyName" : {
				required : true,
				minlength : 1,
				maxlength : 20,
				remote : {
					type : "post",
					url : "company_checkName",
					data : {
						"company.companyName" : function() {
							return $("#name").val();
						}
					}
				}
			},
			"company.companyPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20
			},
			"re_password" : {
				required : true,
				equalTo : "#password"
			},
			"company.companyTel" : {
				required : true,
				isMobile : true
			},
			"company.companyManager" : {
				required : true,
				maxlength : 20,
				stringCheck : true,
				IsManagerName:true
			},
			"company.companyAddress" : {
				required : true,
				maxlength : 256,
				stringCheck : true
			}
		},
		messages : {
			"company.companyName" : {
				required : "请输入商家名",
				minlength : "商家名最少为一个字符",
				maxlength : "商家名不可超过20个字符",
				remote : "该商家名已经被注册",
			},
			"company.companyPassword" : {
				required : "请输入密码",
				minlength : "密码最少为8位",
				maxlength : "密码不能超过20位"
			},
			"re_password" : {
				required : "请输入确认密码",
				equalTo : "两次输入密码不一致"
			},
			"company.companyTel" : {
				required : "请输入手机号码",
				isMobile : "请正确填写手机号码"
			},
			"company.companyManager" : {
				required : "请输入负责人名称",
				maxlength : "负责人名称不可超过20个字符",
				stringCheck : "数字中、英文下划线",
				IsManagerName:'只允许包含中文和英文'
			},
			"company.companyAddress" : {
				required : "请输入商家地址",
				maxlength : "商家地址不可超过256个字符",
				stringCheck : "数字中、英文下划线"
			}
		},
		submitHandler : function(form) {
			form.submit();
		},
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true
	});
});

// 管理员发布公告校验 addNotice
$(function() {
	jQuery.validator.addMethod("isImage", function(value, element) {
		var filepath = $('input[type="file"]').val();
		// 对获取的图片的路径进行分割
		var fileArr = filepath.split("\\");
		var fileTArr = fileArr[fileArr.length - 1].toLowerCase().split(".");
		var filetype = fileTArr[fileTArr.length - 1];
		// 切割出后缀文件名
		if (filetype == "jpg" || filetype == "jpeg" || filetype == "bmp"
				|| filetype == "png") {
			return true;
		} else if (filepath == null || filepath == "") {
			return true;
		} else {
			return false;
		}
	}, "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png");
	jQuery.validator.addMethod("isLegal", function(value, element) {
		var result = false;
		// 先判断是否包含特殊字符
		var special = /[@\/'\\"#$%&￥,!，！。.\^*]/.test(value);
		var s = /[\n\r]/.test(value);
		// 若为true 包含特殊字符 将其替换为空
		var reg = /[@\/'\\"#$%&￥,!，！。.\^*]/g;
		var reg1 = /[\n\r]/g;
		// r为用来测试 真正写入的是text
		var r = value.replace(reg, '');
		var r1 = r.replace(reg1, "");
		// 此时为只剩下符合字符或为空
		if (r1 == '') {
		} else {
			// 判断是否只有符合的字符或字
			var reg = /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/;
			var re = reg.test(r1);
			if (re) {
				result = true;
			}
		}
		// 表单验证
		return result;
	}, "请勿发无效信息！");

	$("#NoticeForm").validate({
		rules : {
			"bothText.text" : {
				required : true,
				isLegal : true,
			},
			"limitday" : {
				required : true,
			},
			"image" : {
				isImage : true,
			// 期望的是true,如果为false则展示提示信息
			},
		},
		messages : {
			"bothText.text" : {
				required : "所发布的信息不能为空",
				isLegal : "请勿发无效信息！",
			},
			"limitday" : {
				required : "请选择信息有效期",
			},
			"image" : {
				isImage : "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png",
			},
		},
		
		 errorLabelContainer : "#messageBox3", wrapper : "li",
		 
		focusInvalid : true,
	});
});

// 管理员登陆验证 admin_login
$(function() {
	$("#adminLoginForm").validate({
		rules : {
			"admin.adminName" : {
				required : true,
				minlength : 1,
				maxlength : 20,
				remote : { // 验证名称是否存在
					type : "post",
					url : "admin_checkNameForLogin",
					data : {
						"admin.adminName" : function() {
							return $("#adminName").val();
						}
					}
				}
			},
			"admin.adminPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
			}
		},
		messages : {
			"admin.adminName" : {
				required : '请输入用户名',
				minlength : '用户名不能小于1个字符',
				maxlength : '用户名不能超过20个字符',
				remote : '不存在该用户名'
			},
			"admin.adminPassword" : {
				required : '请输入密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
			}
		},
		errorLabelContainer : "#messageBox1",
		wrapper : "li",
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true,
	});
});

// 用户修改密码 centerForUser
$(function() {
	$("#updateUserPasswordForm").validate({
		rules : {
			"usedPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
				remote : {
					type : "post",
					url : "user_checkUserPassword",
					data : {
						"user.userPassword" : function() {
							return $(":password[name='usedPassword']").val();
						}
					}
				}
			},
			"user.userPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
			},
			"confirmPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
				equalTo : "input[name='user.userPassword']"
			},

		},
		messages : {
			"usedPassword" : {
				required : '请输入原密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
				remote : '输入错误，请重新输入',
			},
			"user.userPassword" : {
				required : '请输入密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
			},
			"confirmPassword" : {
				required : '请输入确认密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
				equalTo : '两次密码输入不一致',
			}
		},

		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true,
	});
});

// 用户修改个人资料 centerForUser
$(function() {
	// 邮箱com
	jQuery.validator
			.addMethod(
					"isEmail",
					function(value, element) {
						if(value.indexOf(".com")>0)
							return true;
						else
							return false;
					}, "请正确填写邮箱地址");
	jQuery.validator.addMethod("stringCheck", function(value, element) {
		return this.optional(element)
				|| /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/.test(value);
	}, "只能包含中文、英文、数字、下划线等字符");
	$("#updateUserInfoForm").validate({
		rules : {
			"user.userName" : {
				required : true,
				minlength : 1,
				maxlength : 20,
				stringCheck:true,
				remote : {
					type : "post",
					url : "user_checkUserName",
					data : {
						"user.userName" : function() {
							return $(":text[name='user.userName']").val();
						}
					}
				}
			},
			"user.userEmail" : {
				required : true,
				email : true,
				isEmail:true,
				maxlength : 40
			},

		},
		messages : {
			"user.userName" : {
				required : '请输入用户名',
				minlength : '用户名不能小于1个字符',
				maxlength : '用户名不能超过20个字符',
				stringCheck:'只能包含中文、英文、数字、下划线等字符',
				remote : '用户名已存在请重新更改',
			},
			"user.userEmail" : {
				required : '请输入邮箱地址',
				email : '请输入正确的邮箱地址',
				isEmail:'请输入正确的邮箱地址',
				maxlength : '邮箱地址不可超过40位'
			}
		},
		
		 errorLabelContainer: "#messageBox1", wrapper: "li" ,
		 
		// 发生错误的时候 会定格在第一个错误的输入框当中
		focusInvalid : true,
	});
});

// 个人中心，用户修改已发布的信息
$(function() {
	jQuery.validator.addMethod("isImage", function(value, element) {
		var filepath = $('input[type="file"]').val();
		// 对获取的图片的路径进行分割
		var fileArr = filepath.split("\\");
		var fileTArr = fileArr[fileArr.length - 1].toLowerCase().split(".");
		var filetype = fileTArr[fileTArr.length - 1];
		// 切割出后缀文件名
		if (filetype == "jpg" || filetype == "jpeg" || filetype == "bmp"
				|| filetype == "png") {
			return true;
		} else if (filepath == null || filepath == "") {
			return true;
		} else {
			return false;
		}
	}, "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png");
	jQuery.validator.addMethod("isInt", function(value, element) {
		var reg = /^(0|\+?[1-9][0-9]*)$/;
		return this.optional(element) || (reg.test(value));
	}, "信用值填写要求为正整数");
	jQuery.validator.addMethod("isEmpty", function(value, element) {
		var result = true;
		var reg = /\s+/g;
		if (reg.test(value)) {
			result = false;
		}
		return result;
	}, "信用值填写错误");
	jQuery.validator.addMethod("isSelected", function(value, element) {
		var result = false;
		if (value != "nochoice") {
			result = true;
		}
		return result;
	}, "请选择信息类型");
	jQuery.validator.addMethod("isLegal", function(value, element) {
		var result = false;
		// 先判断是否包含特殊字符
		var special = /[@\/'\\"#$%&￥,!，！。.\^*]/.test(value);
		var s = /[\n\r]/.test(value);
		// 若为true 包含特殊字符 将其替换为空
		var reg = /[@\/'\\"#$%&￥,!，！。.\^*]/g;
		var reg1 = /[\n\r]/g;
		// r为用来测试 真正写入的是text
		var r = value.replace(reg, '');
		var r1 = r.replace(reg1, "");
		// 此时为只剩下符合字符或为空
		if (r1 == "") {

		} else {
			// 判断是否只有符合的字符或字
			var reg = /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/;
			var re = reg.test(r1);
			if (re) {
				result = true;
			}
		}
		// 表单验证
		return result;

	}, "请勿发无效信息！");
	$("#updateUserTextForm")
			.validate(
					{
						rules : {
							
							"userText.text" : {
								required : true,
								isLegal : true,
							// 期望的是true,如果为false则展示提示信息
							},
							"limitday" : {
								required : true,
							},
							"userText.transPoint" : {
								required : true,
								isInt : true,
								isEmpty : true,
								// 是否足够
								remote : {
									type : "post",
									url : "usertext_checkUserPoint",
									data : {
										"userText.transPoint" : function() {
											return $("#transPoint").val();
										},
										"userText.textId" : function() {
											return $(
													"#updateUserTextForm :hidden[name='userText.textId']")
													.val();
										}
									}
								}
							// 期望的是true,如果为false则展示提示信息
							},
							"userText.type.typeId" : {
								required : true,
								isSelected : true,
							// 期望的是true,如果为false则展示提示信息
							},
							"image" : {
								isImage : true,
							// 期望的是true,如果为false则展示提示信息
							},

						},
						messages : {
							
							"userText.text" : {
								required : "所发布的信息不能为空",
								isLegal : "请勿发无效信息！",
							},
							"limitday" : {
								required : "请选择信息有效期",
							},
							"userText.transPoint" : {
								isInt : "信用值填写要求为正整数",
								isEmpty : "信用值填写错误",
								required : "请填写信用值",
								remote : "信用值不足",
							},
							"userText.type.typeId" : {
								required : "请选择信息类型",
								isSelected : "请选择信息类型",
							// 期望的是true,如果为false则展示提示信息

							},
							"image" : {
								isImage : "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png",
							},
						},
						focusInvalid : true,
					});
});

// 商家中心，修改密码 centerForCompany
$(function() {
	$("#updateCompanyPasswordForm").validate({
		rules : {
			"usedPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
				remote : {
					type : "post",
					url : "company_checkCompanyPassword",
					data : {
						"company.companyPassword" : function() {
							return $(":password[name='usedPassword']").val();
						}
					}
				}
			},
			"company.companyPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
			},
			"confirmPassword" : {
				required : true,
				minlength : 8,
				maxlength : 20,
				equalTo : "input[name='company.companyPassword']"
			},
		},
		messages : {
			"usedPassword" : {
				required : '请输入原密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
				remote : '输入错误，请重新输入',
			},
			"company.companyPassword" : {
				required : '请输入密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
			},
			"confirmPassword" : {
				required : '请输入确认密码',
				minlength : '密码不能小于8个字符',
				maxlength : '密码不能超过20个字符',
				equalTo : '两次密码输入不一致',
			}
		},
		focusInvalid : true,
	});
});

// 商家中心，商家修改基本资料 centerForCompany
$(function() {
	jQuery.validator
			.addMethod(
					"isMobile",
					function(value, element) {
						var length = value.length;
						var mobile = /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})$/;
						return this.optional(element)
								|| (length == 11 && mobile.test(value));
					}, "请正确填写您的手机号码");
	jQuery.validator.addMethod("stringCheck", function(value, element) {
		return this.optional(element)
				|| /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/.test(value);
	}, "只能包含中文、英文、数字、下划线等字符");
	jQuery.validator.addMethod("IsManagerName", function(value, element) {
		return this.optional(element)
				|| /^[A-Za-z\u4e00-\u9fa5]+$/.test(value);
	}, "只允许包含中文和英文");
	$("#updateCompanyInfoForm").validate({
		rules : {
			"company.companyTel" : {
				required : true,
				isMobile : true
			},
			"company.companyAddress" : {
				required : true,
				maxlength : 256,
				stringCheck : true
			},
			"company.companyManager" : {
				required : true,
				maxlength : 20,
				stringCheck : true,
				IsManagerName:true
			},
		},
		messages : {
			"company.companyTel" : {
				required : "请输入手机号码",
				isMobile : "请输入正确的手机号码"
			},
			"company.companyManager" : {
				required : "请输入负责人名称",
				maxlength : "负责人名称不可超过20个字符",
				stringCheck : "只能包含中文、英文、数字、下划线等字符",
				IsManagerName:'只允许包含中文和英文'
			},
			"company.companyAddress" : {
				required : "请输入商家地址",
				maxlength : "商家地址不可超过256个字符",
				stringCheck : "只能包含中文、英文、数字、下划线等字符"
			}
		},
		focusInvalid : true,
	});
});

// 商家中心，发布、修改广告
$(function() {
	jQuery.validator.addMethod("isImage", function(value, element) {
		var filepath = $('input[type="file"]').val();
		alert("路径"+filepath);
		// 对获取的图片的路径进行分割
		var fileArr = filepath.split("\\");
		var fileTArr = fileArr[fileArr.length - 1].toLowerCase().split(".");
		var filetype = fileTArr[fileTArr.length - 1];
		alert(filetype);
		// 切割出后缀文件名
		if (filetype == "jpg" || filetype == "jpeg" || filetype == "bmp"
				|| filetype == "png") {
			return true;
		} else if (filepath == null || filepath == "") {
			return true;
		} else {
			return false;
		}
	}, "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png");
	jQuery.validator.addMethod("isLegal", function(value, element) {
		var result = false;
		// 先判断是否包含特殊字符
		var special = /[@\/'\\"#$%&￥,!，！。.\^*]/.test(value);
		var s = /[\n\r]/.test(value);
		// 若为true 包含特殊字符 将其替换为空
		var reg = /[@\/'\\"#$%&￥,!，！。.\^*]/g;
		var reg1 = /[\n\r]/g;
		// r为用来测试 真正写入的是text
		var r = value.replace(reg, '');
		var r1 = r.replace(reg1, "");
		// 此时为只剩下符合字符或为空
		if (r1 == "") {
		} else {
			// 判断是否只有符合的字符或字
			var reg = /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/;
			var re = reg.test(r1);
			if (re) {
				result = true;
			}
		}
		return result;
	}, "请勿发无效信息！");

	$("#addBothTextByCompany").validate({

		rules : {
			"bothText.text" : {
				required : true,
				isLegal : true
			},
			"limitday" : {
				required : true,
			},
			"image" : {
				isImage : true,
			},
		},
		messages : {
			"bothText.text" : {
				required : "所发布的信息不能为空",
				isLegal : "请勿发无效信息！",
			},
			"limitday" : {
				required : "请选择信息有效期",
			},
			"image" : {
				isImage : "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png",
			},
		},
		focusInvalid : true,
	});

	$("#updateAdForm").validate({
		rules : {
			"bothText.text" : {
				required : true,
				isLegal : true
			},
			"limitday" : {
				required : true,
			},
			"image" : {
				isImage : true,
			},
		},
		messages : {
			"bothText.text" : {
				required : "所发布的信息不能为空",
				isLegal : "请勿发无效信息！",
			},
			"limitday" : {
				required : "请选择信息有效期",
			},
			"image" : {
				isImage : "<br>上传图片格式不正确,应为jpg、jpeg、bmp、png",
			},
		},
		focusInvalid : true,
	});
});

// 个人中心，用户申诉验证 centerForUser
$(function() {
	jQuery.validator.addMethod("isLegal", function(value, element) {
		var result = false;
		// 先判断是否包含特殊字符
		var special = /[@\/'\\"#$%&￥,!，！。.\^*]/.test(value);
		var s = /[\n\r]/.test(value);
		// 若为true 包含特殊字符 将其替换为空
		var reg = /[@\/'\\"#$%&￥,!，！。.\^*]/g;
		var reg1 = /[\n\r]/g;
		// r为用来测试 真正写入的是text
		var r = value.replace(reg, '');
		var r1 = r.replace(reg1, "");
		// 此时为只剩下符合字符或为空
		if (r1 == "") {
		} else {
			// 判断是否只有符合的字符或字
			var reg = /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/;
			var re = reg.test(r1);
			if (re) {
				result = true;
			}
		}
		return result;
	}, "请勿发无效信息！");

	$("#addIssueForm").validate({
		rules : {
			"issue.issuedesc" : {
				required : true,
				isLegal : true,
			// 期望的是true,如果为false则展示提示信息
			}
		},
		messages : {
			"issue.issuedesc" : {
				required : "所发布的信息不能为空",
				isLegal : "请勿发无效信息！",
			}
		},
		focusInvalid : true,
	});
});


//首页 input
$(function() {
	jQuery.validator.addMethod("isImage", function(value, element) {
			var filepath=$('input[type="file"]').val();
			//对获取的图片的路径进行分割
			var fileArr=filepath.split("\\");
    		var fileTArr=fileArr[fileArr.length-1].toLowerCase().split(".");
    		var filetype=fileTArr[fileTArr.length-1];
    		//切割出后缀文件名
    		if(filetype == "jpg"||filetype == "jpeg"||filetype == "bmp"||filetype == "png"){
       			 return true;
    		}
    		else if(filepath==""||filepath==null)
    		{
    			 return true;
    		}
    		else{
        		return false;
    		}		
		}, "上传图片格式不正确应<br>为jpg、jpeg、bmp、png");
	
		jQuery.validator.addMethod("isInt", function(value, element) {
			var reg = /^(0|\+?[1-9][0-9]*)$/;
			return this.optional(element) || (reg.test(value));
		}, "信用值填写要求为正整数");
		jQuery.validator.addMethod("isEmpty", function(value, element) {
			var result = true;
			var reg = /\s+/g;
			if (reg.test(value)) {
				result = false;
			}
			return result;
		}, "信用值填写错误");
		jQuery.validator.addMethod("isSelected", function(value, element) {
			var result = false;
			if (value != "nochoice") {
				result = true;
			}
			return result;
		}, "请选择信息类型");
		jQuery.validator.addMethod("isLegal", function(value, element) {
			var result = false;
			//先判断是否包含特殊字符
			var special = /[@\/'\\"#$%&￥,!，！。.\^*]/.test(value);
			var s = /[\n\r]/.test(value);
			//若为true  包含特殊字符  将其替换为空 
			var reg = /[@\/'\\"#$%&￥,!，！。.\^*]/g;
			var reg1 = /[\n\r]/g;
			//r为用来测试  真正写入的是text
			var r = value.replace(reg, '');
			var r1 = r.replace(reg1, "");
			//此时为只剩下符合字符或为空
			if (r1 == '') {

			} else {
				//判断是否只有符合的字符或字
				var reg = /^[a-zA-Z0-9\u4e00-\u9fa5-_]+$/;
				var re = reg.test(r1);
				if (re) {
					result = true;
				}
			}
			return result;
		}, "请勿发无效信息！");

		$("#taskForm").validate({
			rules : {
			"userText.text" : {
					required : true,
					isLegal : true,
				//期望的是true,如果为false则展示提示信息  
				},
				"limitday" : {
					required : true,
				},
				"userText.transPoint" : {
					isInt : true,
					isEmpty : true,
					//是否足够
					remote : {
						type : "post",
						url : "usertext_checkUserPoint1",
						data : {
							"userText.transPoint" : function() {
								return $("#transPoint").val();
							}
						}
					}
				//期望的是true,如果为false则展示提示信息  
				},
				"userText.type.typeId" : {
					required : true,
					isSelected : true,
				//期望的是true,如果为false则展示提示信息  
				},
				"image" : {
					isImage:true,
				//期望的是true,如果为false则展示提示信息  
				},
			},
			messages : {
			"userText.text" : {
						required : "所发布的信息不能为空",
						isLegal : "请勿发无效信息！",
					},
				"limitday" : {
					required : "请选择信息有效期",
				},
				"userText.transPoint" : {
					isInt : "信用值填写要求为正整数",
					isEmpty : "信用值填写错误",
					remote : "信用值不足",
				},
				"userText.type.typeId" : {
					required : "请选择信息类型",
					isSelected : "请选择信息类型",
					//期望的是true,如果为false则展示提示信息  
				},
				"image" : {
					isImage:"上传图片格式不正确应<br>为jpg、jpeg、bmp、png",
				},
			},
			errorLabelContainer : "#messageBox3",
			wrapper : "li",
			focusInvalid : true,
		});
	});